home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Tool Chest / !Interfaces / Universal Interfaces 2.0a1 / PInterfaces / GestaltEqu.p < prev    next >
Encoding:
Text File  |  1994-07-25  |  22.9 KB  |  572 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        GestaltEqu.p
  3.  
  4.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  5.                  All rights reserved.
  6.  
  7.      Version:    Universal Interfaces 2.0a1.1  ETO #15, MPW prerelease.  Sunday, July 17, 1994. 
  8.  
  9.      Bugs?:        If you find a problem with this file, send the file and version
  10.                  information (from above) and the problem description to:
  11.  
  12.                      Internet:    apple.bugs@applelink.apple.com
  13.                      AppleLink:    APPLE.BUGS
  14.  
  15. }
  16.  
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT GestaltEqu;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __GESTALTEQU__}
  27. {$SETC __GESTALTEQU__ := 1}
  28.  
  29. {$I+}
  30. {$SETC GestaltEquIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {    ConditionalMacros.p                                            }
  38.  
  39. {$IFC UNDEFINED __MIXEDMODE__}
  40. {$I MixedMode.p}
  41. {$ENDC}
  42.  
  43. {$PUSH}
  44. {$ALIGN MAC68K}
  45. {$LibExport+}
  46.  
  47. CONST
  48.     gestaltAddressingModeAttr    = 'addr';                        { addressing mode attributes }
  49.     gestalt32BitAddressing        = 0;                            { using 32-bit addressing mode }
  50.     gestalt32BitSysZone            = 1;                            { 32-bit compatible system zone }
  51.     gestalt32BitCapable            = 2;                            { Machine is 32-bit capable }
  52.  
  53.     gestaltAliasMgrAttr            = 'alis';                        { Alias Mgr Attributes }
  54.     gestaltAliasMgrPresent        = 0;                            { True if the Alias Mgr is present }
  55.     gestaltAliasMgrSupportsRemoteAppletalk = 1;                    { True if the Alias Mgr knows about Remote Appletalk }
  56.  
  57.     gestaltAppleTalkVersion        = 'atlk';
  58.  
  59.     gestaltAUXVersion            = 'a/ux';
  60.  
  61.     gestaltCloseViewAttr        = 'BSDa';                        { CloseView attributes }
  62.     gestaltCloseViewEnabled        = 0;                            { Closeview enabled (dynamic bit - returns current state) }
  63.     gestaltCloseViewDisplayMgrFriendly = 1;                        { Closeview compatible with Display Manager (FUTURE) }
  64.  
  65.     gestaltCFMAttr                = 'cfrg';                        { returns information about the Code Fragment Manager }
  66.     gestaltCFMPresent            = 0;                            { true if the Code Fragment Manager is present }
  67.  
  68.     gestaltConnMgrAttr            = 'conn';                        { connection mgr attributes    }
  69.     gestaltConnMgrPresent        = 0;
  70.     gestaltConnMgrCMSearchFix    = 1;                            { Fix to CMAddSearch?     }
  71.     gestaltConnMgrErrorString    = 2;                            { has CMGetErrorString() }
  72.     gestaltConnMgrMultiAsyncIO    = 3;                            { CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill }
  73.  
  74.     gestaltComponentMgr            = 'cpnt';
  75.  
  76.     gestaltNativeCPUtype        = 'cput';                        { Native CPU type                                       }
  77.     gestaltCPU68000                = 1;                            { Various 68k CPUs...     }
  78.     gestaltCPU68010                = 2;
  79.     gestaltCPU68020                = 3;
  80.     gestaltCPU68030                = 4;
  81.     gestaltCPU68040                = 5;
  82.     gestaltCPU601                = $101;                            { IBM 601                                                 }
  83.     gestaltCPU603                = $103;
  84.     gestaltCPU604                = $104;
  85.  
  86.     gestaltCRMAttr                = 'crm ';                        { comm resource mgr attributes }
  87.     gestaltCRMPresent            = 0;
  88.     gestaltCRMPersistentFix        = 1;                            { fix for persistent tools }
  89.     gestaltCRMToolRsrcCalls        = 2;                            { has CRMGetToolResource/ReleaseToolResource }
  90.  
  91.     gestaltControlStripVersion    = 'csvr';
  92.  
  93.     gestaltCTBVersion            = 'ctbv';
  94.  
  95.     gestaltDBAccessMgrAttr        = 'dbac';                        { Database Access Mgr attributes }
  96.     gestaltDBAccessMgrPresent    = 0;                            { True if Database Access Mgr present }
  97.  
  98.     gestaltDictionaryMgrAttr    = 'dict';                        { Dictionary Manager attributes }
  99.     gestaltDictionaryMgrPresent    = 0;                            { Dictionary Manager attributes }
  100.  
  101.     gestaltDITLExtAttr            = 'ditl';                        { AppenDITL, etc. calls from CTB }
  102.     gestaltDITLExtPresent        = 0;                            { True if calls are present }
  103.  
  104.     gestaltDisplayMgrAttr        = 'dply';                        { Display Manager attributes }
  105.     gestaltDisplayMgrPresent    = 0;                            { True if Display Mgr is present }
  106.  
  107.     gestaltDisplayMgrVers        = 'dplv';
  108.  
  109.     gestaltDragMgrAttr            = 'drag';                        { Drag Manager attributes }
  110.     gestaltDragMgrPresent        = 0;                            { Drag Manager is present }
  111.     gestaltDragMgrFloatingWind    = 1;                            { Drag Manager supports floating windows }
  112.     gestaltPPCDragLibPresent    = 2;                            { Drag Manager PPC DragLib is present }
  113.  
  114.     gestaltEasyAccessAttr        = 'easy';                        { Easy Access attributes }
  115.     gestaltEasyAccessOff        = 0;                            { if Easy Access present, but off (no icon) }
  116.     gestaltEasyAccessOn            = 1;                            { if Easy Access "On" }
  117.     gestaltEasyAccessSticky        = 2;                            { if Easy Access "Sticky" }
  118.     gestaltEasyAccessLocked        = 3;                            { if Easy Access "Locked" }
  119.  
  120.     gestaltEditionMgrAttr        = 'edtn';                        { Edition Mgr attributes }
  121.     gestaltEditionMgrPresent    = 0;                            { True if Edition Mgr present }
  122.     gestaltEditionMgrTranslationAware = 1;                        { True if edition manager is translation manager aware }
  123.  
  124.     gestaltAppleEventsAttr        = 'evnt';                        { Apple Events attributes }
  125.     gestaltAppleEventsPresent    = 0;                            { True if Apple Events present }
  126.     gestaltScriptingSupport        = 1;
  127.     gestaltOSLInSystem            = 2;                            { OSL is in system so don’t use the one linked in to app }
  128.  
  129.     gestaltFinderAttr            = 'fndr';                        { Finder attributes }
  130.     gestaltFinderDropEvent        = 0;                            { Finder recognizes drop event }
  131.     gestaltFinderMagicPlacement    = 1;                            { Finder supports magic icon placement }
  132.     gestaltFinderCallsAEProcess    = 2;                            { Finder calls AEProcessAppleEvent }
  133.     gestaltOSLCompliantFinder    = 3;                            { Finder is scriptable and recordable }
  134.     gestaltFinderSupports4GBVolumes = 4;                        { Finder correctly handles 4GB volumes }
  135.     gestaltFinderHandlesCFMFailures = 5;                        { Finder handles Code Fragment Manager errors  }
  136.     gestaltFinderHasClippings    = 6;                            { Finder supports Drag Manager clipping files }
  137.  
  138.     gestaltFindFolderAttr        = 'fold';                        { Folder Mgr attributes }
  139.     gestaltFindFolderPresent    = 0;                            { True if Folder Mgr present }
  140.  
  141.     gestaltFontMgrAttr            = 'font';                        { Font Mgr attributes }
  142.     gestaltOutlineFonts            = 0;                            { True if Outline Fonts supported }
  143.  
  144.     gestaltFPUType                = 'fpu ';                        { fpu type }
  145.     gestaltNoFPU                = 0;                            { no FPU }
  146.     gestalt68881                = 1;                            { 68881 FPU }
  147.     gestalt68882                = 2;                            { 68882 FPU }
  148.     gestalt68040FPU                = 3;                            { 68040 built-in FPU }
  149.  
  150.     gestaltFSAttr                = 'fs  ';                        { file system attributes }
  151.     gestaltFullExtFSDispatching    = 0;                            { has really cool new HFSDispatch dispatcher }
  152.     gestaltHasFSSpecCalls        = 1;                            { has FSSpec calls }
  153.     gestaltHasFileSystemManager    = 2;                            { has a file system manager }
  154.     gestaltFSMDoesDynamicLoad    = 3;                            { file system manager supports dynamic loading }
  155.     gestaltFSSupports4GBVols    = 4;                            { file system supports 4 gigabyte volumes }
  156.     gestaltFSSupports2TBVols    = 5;                            { file system supports 2 terabyte volumes }
  157.     gestaltHasExtendedDiskInit    = 6;                            { has extended Disk Initialization calls }
  158.  
  159.     gestaltFXfrMgrAttr            = 'fxfr';                        { file transfer manager attributes }
  160.     gestaltFXfrMgrPresent        = 0;
  161.     gestaltFXfrMgrMultiFile        = 1;                            { supports FTSend and FTReceive }
  162.     gestaltFXfrMgrErrorString    = 2;                            { supports FTGetErrorString }
  163.  
  164.     gestaltHardwareAttr            = 'hdwr';                        { hardware attributes }
  165.     gestaltHasVIA1                = 0;                            { VIA1 exists }
  166.     gestaltHasVIA2                = 1;                            { VIA2 exists }
  167.     gestaltHasASC                = 3;                            { Apple Sound Chip exists }
  168.     gestaltHasSCC                = 4;                            { SCC exists }
  169.     gestaltHasSCSI                = 7;                            { SCSI exists }
  170.     gestaltHasSoftPowerOff        = 19;                            { Capable of software power off }
  171.     gestaltHasSCSI961            = 21;                            { 53C96 SCSI controller on internal bus }
  172.     gestaltHasSCSI962            = 22;                            { 53C96 SCSI controller on external bus }
  173.     gestaltHasUniversalROM        = 24;                            { Do we have a Universal ROM? }
  174.  
  175.     gestaltHelpMgrAttr            = 'help';                        { Help Mgr Attributes }
  176.     gestaltHelpMgrPresent        = 0;                            { true if help mgr is present }
  177.     gestaltHelpMgrExtensions    = 1;                            { true if help mgr extensions are installed }
  178.  
  179.     gestaltCompressionMgr        = 'icmp';
  180.  
  181.     gestaltIconUtilitiesAttr    = 'icon';                        { Icon Utilities attributes  (Note: available in System 7.0, despite gestalt) }
  182.     gestaltIconUtilitiesPresent    = 0;                            { true if icon utilities are present }
  183.  
  184.     gestaltKeyboardType            = 'kbd ';                        { keyboard type }
  185.     gestaltMacKbd                = 1;
  186.     gestaltMacAndPad            = 2;
  187.     gestaltMacPlusKbd            = 3;
  188.     gestaltExtADBKbd            = 4;
  189.     gestaltStdADBKbd            = 5;
  190.     gestaltPrtblADBKbd            = 6;
  191.     gestaltPrtblISOKbd            = 7;
  192.     gestaltStdISOADBKbd            = 8;
  193.     gestaltExtISOADBKbd            = 9;
  194.     gestaltADBKbdII                = 10;
  195.     gestaltADBISOKbdII            = 11;
  196.     gestaltPwrBookADBKbd        = 12;
  197.     gestaltPwrBookISOADBKbd        = 13;
  198.     gestaltAppleAdjustKeypad    = 14;
  199.     gestaltAppleAdjustADBKbd    = 15;
  200.     gestaltAppleAdjustISOKbd    = 16;
  201.     gestaltJapanAdjustADBKbd    = 17;                            { Japan Adjustable Keyboard }
  202.     gestaltPwrBkExtISOKbd        = 20;                            { PowerBook Extended International Keyboard with function keys }
  203.     gestaltPwrBkExtJISKbd        = 21;                            { PowerBook Extended Japanese Keyboard with function keys         }
  204.     gestaltPwrBkExtADBKbd        = 24;                            { PowerBook Extended Domestic Keyboard with function keys         }
  205.  
  206.     gestaltLowMemorySize        = 'lmem';
  207.  
  208.     gestaltLogicalRAMSize        = 'lram';
  209.  
  210.     gestaltMachineType            = 'mach';                        { machine type }
  211.     gestaltClassic                = 1;
  212.     gestaltMacXL                = 2;
  213.     gestaltMac512KE                = 3;
  214.     gestaltMacPlus                = 4;
  215.     gestaltMacSE                = 5;
  216.     gestaltMacII                = 6;
  217.     gestaltMacIIx                = 7;
  218.     gestaltMacIIcx                = 8;
  219.     gestaltMacSE030                = 9;
  220.     gestaltPortable                = 10;
  221.     gestaltMacIIci                = 11;
  222.     gestaltMacIIfx                = 13;
  223.     gestaltMacClassic            = 17;
  224.     gestaltMacIIsi                = 18;
  225.     gestaltMacLC                = 19;
  226.     gestaltQuadra900            = 20;
  227.     gestaltPowerBook170            = 21;
  228.     gestaltQuadra700            = 22;
  229.     gestaltClassicII            = 23;
  230.     gestaltPowerBook100            = 24;
  231.     gestaltPowerBook140            = 25;
  232.     gestaltQuadra950            = 26;
  233.     gestaltMacLCIII                = 27;
  234.     gestaltPerforma450            = 27;
  235.     gestaltPowerBookDuo210        = 29;
  236.     gestaltMacCentris650        = 30;
  237.     gestaltPowerBookDuo230        = 32;
  238.     gestaltPowerBook180            = 33;
  239.     gestaltPowerBook160            = 34;
  240.     gestaltMacQuadra800            = 35;
  241.     gestaltMacQuadra650            = 36;
  242.     gestaltMacLCII                = 37;
  243.     gestaltPowerBookDuo250        = 38;
  244.     gestaltAWS9150_80            = 39;
  245.     gestaltMacIIvi                = 44;
  246.     gestaltPerforma600            = 45;
  247.     gestaltMacIIvm                = 45;
  248.     gestaltMacIIvx                = 48;
  249.     gestaltMacColorClassic        = 49;
  250.     gestaltPerforma250            = 49;
  251.     gestaltPowerBook165c        = 50;
  252.     gestaltMacCentris610        = 52;
  253.     gestaltMacQuadra610            = 53;
  254.     gestaltPowerBook145            = 54;
  255.     gestaltMacLC520                = 56;
  256.     gestaltMacCentris660AV        = 60;
  257.     gestaltPerforma46x            = 62;
  258.     gestaltPowerMac8100_80        = 65;                            { Power Macintosh 8100/80 }
  259.     gestaltPowerBook180c        = 71;
  260.     gestaltPowerMac6100_60        = 75;                            { Power Macintosh 6100/60 }
  261.     gestaltPowerBookDuo270c        = 77;
  262.     gestaltMacQuadra840AV        = 78;
  263.     gestaltPerforma550            = 80;
  264.     gestaltPowerBook165            = 84;
  265.     gestaltMacTV                = 88;
  266.     gestaltMacLC475                = 89;
  267.     gestaltPerforma47x            = 89;
  268.     gestaltMacLC575                = 92;
  269.     gestaltMacQuadra605            = 94;
  270.     gestaltPowerMac7100_66        = 112;                            { Power Macintosh 7100/66 }
  271.  
  272.     kMachineNameStrID            = -16395;
  273.  
  274.     gestaltMachineIcon            = 'micn';
  275.  
  276.     gestaltMiscAttr                = 'misc';                        { miscellaneous attributes }
  277.     gestaltScrollingThrottle    = 0;                            { true if scrolling throttle on }
  278.     gestaltSquareMenuBar        = 2;                            { true if menu bar is square }
  279.  
  280.     gestaltMixedModeVersion        = 'mixd';
  281.  
  282.     gestaltMMUType                = 'mmu ';                        { mmu type }
  283.     gestaltNoMMU                = 0;                            { no MMU }
  284.     gestaltAMU                    = 1;                            { address management unit }
  285.     gestalt68851                = 2;                            { 68851 PMMU }
  286.     gestalt68030MMU                = 3;                            { 68030 built-in MMU }
  287.     gestalt68040MMU                = 4;                            { 68040 built-in MMU }
  288.     gestaltEMMU1                = 5;                            { Emulated MMU type 1  }
  289.  
  290.     gestaltStdNBPAttr            = 'nlup';                        { standard nbp attributes }
  291.     gestaltStdNBPPresent        = 0;
  292.  
  293.     gestaltNotificationMgrAttr    = 'nmgr';                        { notification manager attributes }
  294.     gestaltNotificationPresent    = 0;                            { notification manager exists }
  295.  
  296.     gestaltNuBusSlotCount        = 'nubs';
  297.  
  298.     gestaltOSAttr                = 'os  ';                        { o/s attributes }
  299.     gestaltSysZoneGrowable        = 0;                            { system heap is growable }
  300.     gestaltLaunchCanReturn        = 1;                            { can return from launch }
  301.     gestaltLaunchFullFileSpec    = 2;                            { can launch from full file spec }
  302.     gestaltLaunchControl        = 3;                            { launch control support available }
  303.     gestaltTempMemSupport        = 4;                            { temp memory support }
  304.     gestaltRealTempMemory        = 5;                            { temp memory handles are real }
  305.     gestaltTempMemTracked        = 6;                            { temporary memory handles are tracked }
  306.     gestaltIPCSupport            = 7;                            { IPC support is present }
  307.     gestaltSysDebuggerSupport    = 8;                            { system debugger support is present }
  308.  
  309.     gestaltOSTable                = 'ostt';
  310.  
  311.     gestaltPCXAttr                = 'pcxg';                        { PC Exchange attributes }
  312.     gestaltPCXHas8and16BitFAT    = 0;                            { PC Exchange supports both 8 and 16 bit FATs }
  313.     gestaltPCXHasProDOS            = 1;                            { PC Exchange supports ProDOS }
  314.  
  315.     gestaltLogicalPageSize        = 'pgsz';
  316.  
  317.     gestaltPopupAttr            = 'pop!';                        { popup cdef attributes }
  318.     gestaltPopupPresent            = 0;
  319.  
  320.     gestaltPowerMgrAttr            = 'powr';                        { power manager attributes }
  321.     gestaltPMgrExists            = 0;
  322.     gestaltPMgrCPUIdle            = 1;
  323.     gestaltPMgrSCC                = 2;
  324.     gestaltPMgrSound            = 3;
  325.     gestaltPMgrDispatchExists    = 4;
  326.  
  327. {
  328.  * PPC will return the combination of following bit fields.
  329.  * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
  330.  * indicates PPC is cuurently is only supports real time delivery
  331.  * and both incoming and outgoing network sessions are allowed.
  332.  * By default local real time delivery is supported as long as PPCInit has been called.}
  333.     gestaltPPCToolboxAttr        = 'ppc ';                        { PPC toolbox attributes }
  334.     gestaltPPCToolboxPresent    = $0000;                        { PPC Toolbox is present  Requires PPCInit to be called }
  335.     gestaltPPCSupportsRealTime    = $1000;                        { PPC Supports real-time delivery }
  336.     gestaltPPCSupportsIncoming    = $0001;                        { PPC will deny incoming network requests }
  337.     gestaltPPCSupportsOutGoing    = $0002;                        { PPC will deny outgoing network requests }
  338.  
  339.     gestaltProcessorType        = 'proc';                        { processor type }
  340.     gestalt68000                = 1;
  341.     gestalt68010                = 2;
  342.     gestalt68020                = 3;
  343.     gestalt68030                = 4;
  344.     gestalt68040                = 5;
  345.  
  346.     gestaltParityAttr            = 'prty';                        { parity attributes }
  347.     gestaltHasParityCapability    = 0;                            { has ability to check parity }
  348.     gestaltParityEnabled        = 1;                            { parity checking enabled }
  349.  
  350.     gestaltQuickdrawVersion        = 'qd  ';                        { quickdraw version }
  351.     gestaltOriginalQD            = $000;                            { original 1-bit QD }
  352.     gestalt8BitQD                = $100;                            { 8-bit color QD }
  353.     gestalt32BitQD                = $200;                            { 32-bit color QD }
  354.     gestalt32BitQD11            = $210;                            { 32-bit color QDv1.1 }
  355.     gestalt32BitQD12            = $220;                            { 32-bit color QDv1.2 }
  356.     gestalt32BitQD13            = $230;                            { 32-bit color QDv1.3 }
  357.  
  358.     gestaltQuickdrawFeatures    = 'qdrw';                        { quickdraw features }
  359.     gestaltHasColor                = 0;                            { color quickdraw present }
  360.     gestaltHasDeepGWorlds        = 1;                            { GWorlds can be deeper than 1-bit }
  361.     gestaltHasDirectPixMaps        = 2;                            { PixMaps can be direct (16 or 32 bit) }
  362.     gestaltHasGrayishTextOr        = 3;                            { supports text mode grayishTextOr }
  363.     gestaltSupportsMirroring    = 4;                            { Supports video mirroring via the Display Manager. }
  364.  
  365.     gestaltQuickTimeVersion        = 'qtim';
  366.     gestaltQuickTime            = 'qtim';                        { gestaltQuickTime is old name for gestaltQuickTimeVersion }
  367.  
  368.     gestaltQuickTimeFeatures     = 'qtrs';
  369.     gestaltPPCQuickTimeLibPresent = 0;                            { PowerPC QuickTime glue library is present }
  370.  
  371.     gestaltPhysicalRAMSize        = 'ram ';
  372.  
  373.     gestaltRBVAddr                = 'rbv ';
  374.  
  375.     gestaltROMSize                = 'rom ';
  376.  
  377.     gestaltROMVersion            = 'romv';
  378.  
  379.     gestaltResourceMgrAttr        = 'rsrc';                        { Resource Mgr attributes }
  380.     gestaltPartialRsrcs            = 0;                            { True if partial resources exist }
  381.  
  382.     gestaltRealtimeMgrAttr        = 'rtmr';                        { Realtime manager attributes            }
  383.     gestaltRealtimeMgrPresent    = 0;                            { true if the Realtime manager is present     }
  384.  
  385.     gestaltSCCReadAddr            = 'sccr';
  386.  
  387.     gestaltSCCWriteAddr            = 'sccw';
  388.  
  389.     gestaltScrapMgrAttr            = 'scra';                        { Scrap Manager attributes }
  390.     gestaltScrapMgrTranslationAware = 0;                        { True if scrap manager is translation aware }
  391.  
  392.     gestaltScriptMgrVersion        = 'scri';
  393.  
  394.     gestaltScriptCount            = 'scr#';
  395.  
  396.     gestaltSCSI                    = 'scsi';                        { SCSI Manager attributes }
  397.     gestaltAsyncSCSI            = 0;                            { Supports Asynchronous SCSI }
  398.     gestaltAsyncSCSIINROM        = 1;                            { Async scsi is in ROM (available for booting) }
  399.     gestaltSCSISlotBoot            = 2;                            { ROM supports Slot-style PRAM for SCSI boots (PDM and later) }
  400.  
  401.     gestaltControlStripAttr        = 'sdev';                        { Control Strip attributes }
  402.     gestaltControlStripExists    = 0;
  403.     gestaltControlStripVersionFixed = 1;
  404.  
  405.     gestaltSerialAttr            = 'ser ';                        { Serial attributes }
  406.     gestaltHasGPIaToDCDa        = 0;                            { GPIa connected to DCDa}
  407.     gestaltHasGPIaToRTxCa        = 1;                            { GPIa connected to RTxCa clock input}
  408.     gestaltHasGPIbToDCDb        = 2;                            { GPIb connected to DCDb }
  409.  
  410.     gestaltNuBusConnectors        = 'sltc';
  411.  
  412.     gestaltSlotAttr                = 'slot';                        { slot attributes  }
  413.     gestaltSlotMgrExists        = 0;                            { true is slot mgr exists  }
  414.     gestaltNuBusPresent            = 1;                            { NuBus slots are present  }
  415.     gestaltSESlotPresent        = 2;                            { SE PDS slot present  }
  416.     gestaltSE30SlotPresent        = 3;                            { SE/30 slot present  }
  417.     gestaltPortableSlotPresent    = 4;                            { Portable’s slot present  }
  418.  
  419.     gestaltFirstSlotNumber        = 'slt1';
  420.  
  421.     gestaltSoundAttr            = 'snd ';                        { sound attributes }
  422.     gestaltStereoCapability        = 0;                            { sound hardware has stereo capability }
  423.     gestaltStereoMixing            = 1;                            { stereo mixing on external speaker }
  424.     gestaltSoundIOMgrPresent    = 3;                            { The Sound I/O Manager is present }
  425.     gestaltBuiltInSoundInput    = 4;                            { built-in Sound Input hardware is present }
  426.     gestaltHasSoundInputDevice    = 5;                            { Sound Input device available }
  427.     gestaltPlayAndRecord        = 6;                            { built-in hardware can play and record simultaneously }
  428.     gestalt16BitSoundIO            = 7;                            { sound hardware can play and record 16-bit samples }
  429.     gestaltStereoInput            = 8;                            { sound hardware can record stereo }
  430.     gestaltLineLevelInput        = 9;                            { sound input port requires line level }
  431. { the following bits are not defined prior to Sound Mgr 3.0 }
  432.     gestaltSndPlayDoubleBuffer    = 10;                            { SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later }
  433.     gestaltMultiChannels        = 11;                            { multiple channel support, set by Sound Mgr 3.0 and later }
  434.     gestalt16BitAudioSupport    = 12;                            { 16 bit audio data supported, set by Sound Mgr 3.0 and later }
  435.  
  436.     gestaltStandardFileAttr        = 'stdf';                        { Standard File attributes }
  437.     gestaltStandardFile58        = 0;                            { True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported }
  438.     gestaltStandardFileTranslationAware = 1;                    { True if standard file is translation manager aware }
  439.     gestaltStandardFileHasColorIcons = 2;                        { True if standard file has 16x16 color icons }
  440.  
  441.     gestaltSysArchitecture        = 'sysa';                        { Native System Architecture }
  442.     gestalt68k                    = 1;                            { Motorola MC68k architecture }
  443.     gestaltPowerPC                = 2;                            { IBM PowerPC architecture }
  444.  
  445.     gestaltSystemVersion        = 'sysv';
  446.  
  447.     gestaltTSMgrVersion            = 'tsmv';
  448.  
  449.     gestaltTSMgrAttr            = 'tsma';                        { Text Services Mgr attributes, if present }
  450.     gestaltTSMDisplayMgrAwareBit = 0;                            { TSM knows about display manager }
  451.  
  452.     gestaltTextEditVersion        = 'te  ';                        { TextEdit version number }
  453.     gestaltTE1                    = 1;                            { TextEdit in MacIIci ROM }
  454.     gestaltTE2                    = 2;                            { TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) }
  455.     gestaltTE3                    = 3;                            { TextEdit with 6.0.4 Script Systems all but MacIIci }
  456.     gestaltTE4                    = 4;                            { TextEdit in System 7.0 }
  457.     gestaltTE5                    = 5;                            { TextWidthHook available in TextEdit }
  458.  
  459.     gestaltTEAttr                = 'teat';                        { TextEdit attributes }
  460.     gestaltTEHasGetHiliteRgn    = 0;                            { TextEdit has TEGetHiliteRgn }
  461.  
  462.     gestaltTermMgrAttr            = 'term';                        { terminal mgr attributes }
  463.     gestaltTermMgrPresent        = 0;
  464.     gestaltTermMgrErrorString    = 2;
  465.  
  466.     gestaltTimeMgrVersion        = 'tmgr';                        { time mgr version }
  467.     gestaltStandardTimeMgr        = 1;                            { standard time mgr is present }
  468.     gestaltRevisedTimeMgr        = 2;                            { revised time mgr is present }
  469.     gestaltExtendedTimeMgr        = 3;                            { extended time mgr is present }
  470.  
  471.     gestaltSpeechAttr            = 'ttsc';                        { Speech Manager attributes }
  472.     gestaltSpeechMgrPresent        = 0;                            { bit set indicates that Speech Manager exists }
  473.     gestaltSpeechHasPPCGlue        = 1;                            { bit set indicates that native PPC glue for Speech Manager API exists }
  474.  
  475.     gestaltToolboxTable            = 'tbtt';
  476.  
  477.     gestaltThreadMgrAttr        = 'thds';                        { Thread Manager attributes }
  478.     gestaltThreadMgrPresent        = 0;                            { bit true if Thread Mgr is present }
  479.     gestaltSpecificMatchSupport    = 1;                            { bit true if Thread Mgr supports exact match creation option }
  480.  
  481.     gestaltTVAttr                = 'tv  ';                        { TV version                                        <EX16>     }
  482.     gestaltHasTVTuner            = 0;                            { supports Philips FL1236F video tuner                <EX16>     }
  483.     gestaltHasSoundFader        = 1;                            { supports Philips TEA6330 Sound Fader chip        <EX16>     }
  484.     gestaltHasHWClosedCaptioning = 2;                            { supports Philips SAA5252 Closed Captioning        <EX16>     }
  485.     gestaltHasIRRemote            = 3;                            { supports CyclopsII Infra Red Remote control        <EX16>     }
  486.     gestaltHasVidDecoderScaler    = 4;                            { supports Philips SAA7194 Video Decoder/Scaler    <EX16>     }
  487.     gestaltHasStereoDecoder        = 5;                            { supports Sony SBX1637A-01 stereo decoder            <EX16>     }
  488.  
  489.     gestaltVersion                = 'vers';
  490.  
  491.     gestaltVIA1Addr                = 'via1';
  492.  
  493.     gestaltVIA2Addr                = 'via2';
  494.  
  495.     gestaltVMAttr                = 'vm  ';                        { virtual memory attributes }
  496.     gestaltVMPresent            = 0;                            { true if virtual memory is present }
  497.  
  498.     gestaltTranslationAttr        = 'xlat';                        { Translation Manager attributes }
  499.     gestaltTranslationMgrExists    = 0;                            { True if translation manager exists }
  500.     gestaltTranslationMgrHintOrder = 1;                            { True if hint order reversal in effect }
  501.     gestaltTranslationPPCAvail    = 2;
  502.     gestaltTranslationGetPathAPIAvail = 3;
  503.  
  504.     gestaltExtToolboxTable        = 'xttt';
  505.  
  506. TYPE
  507.     SelectorFunctionProcPtr = ProcPtr;  { FUNCTION SelectorFunction(selector: OSType; VAR response: LONGINT): OSErr; }
  508.     SelectorFunctionUPP = UniversalProcPtr;
  509.  
  510. CONST
  511.     uppSelectorFunctionProcInfo = $000003E0; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  512.  
  513. FUNCTION NewSelectorFunctionProc(userRoutine: SelectorFunctionProcPtr): SelectorFunctionUPP;
  514.     {$IFC NOT GENERATINGCFM }
  515.     INLINE $2E9F;
  516.     {$ENDC}
  517.  
  518. FUNCTION CallSelectorFunctionProc(selector: OSType; VAR response: LONGINT; userRoutine: SelectorFunctionUPP): OSErr;
  519.     {$IFC NOT GENERATINGCFM}
  520.     INLINE $205F, $4E90;
  521.     {$ENDC}
  522. {$IFC SystemSevenOrLater }
  523.  
  524. FUNCTION Gestalt(selector: OSType; VAR response: LONGINT): OSErr;
  525.     {$IFC NOT GENERATINGCFM}
  526.     INLINE $225F, $201F, $A1AD, $2288, $3E80;
  527.     {$ENDC}
  528. FUNCTION NewGestalt(selector: OSType; gestaltFunction: SelectorFunctionUPP): OSErr;
  529.     {$IFC NOT GENERATINGCFM}
  530.     INLINE $205F, $201F, $A3AD, $3E80;
  531.     {$ENDC}
  532. FUNCTION ReplaceGestalt(selector: OSType; gestaltFunction: SelectorFunctionUPP; VAR oldGestaltFunction: SelectorFunctionUPP): OSErr;
  533.     {$IFC NOT GENERATINGCFM}
  534.     INLINE $225F, $205F, $201F, $2F09, $A5AD, $225F, $2288, $3E80;
  535.     {$ENDC}
  536. {$ELSEC}
  537.  
  538. FUNCTION Gestalt(selector: OSType; VAR response: LONGINT): OSErr;
  539. FUNCTION NewGestalt(selector: OSType; gestaltFunction: SelectorFunctionUPP): OSErr;
  540. FUNCTION ReplaceGestalt(selector: OSType; gestaltFunction: SelectorFunctionUPP; VAR oldGestaltFunction: SelectorFunctionUPP): OSErr;
  541. {$ENDC}
  542. {$IFC SystemSevenFiveOrLater }
  543. { These functions are built into System 7.5, but not on earlier systems }
  544. FUNCTION NewGestaltValue(selector: OSType; newValue: LONGINT): OSErr;
  545.     {$IFC NOT GENERATINGCFM}
  546.     INLINE $303C, $0401, $ABF1;
  547.     {$ENDC}
  548. FUNCTION ReplaceGestaltValue(selector: OSType; replacementValue: LONGINT): OSErr;
  549.     {$IFC NOT GENERATINGCFM}
  550.     INLINE $303C, $0402, $ABF1;
  551.     {$ENDC}
  552. FUNCTION DeleteGestaltValue(selector: OSType): OSErr;
  553.     {$IFC NOT GENERATINGCFM}
  554.     INLINE $303C, $0203, $ABF1;
  555.     {$ENDC}
  556. FUNCTION SetGestaltValue(selector: OSType; newValue: LONGINT): OSErr;
  557.     {$IFC NOT GENERATINGCFM}
  558.     INLINE $303C, $0404, $ABF1;
  559.     {$ENDC}
  560. {$ENDC}
  561.  
  562. {$ALIGN RESET}
  563. {$POP}
  564.  
  565. {$SETC UsingIncludes := GestaltEquIncludes}
  566.  
  567. {$ENDC} {__GESTALTEQU__}
  568.  
  569. {$IFC NOT UsingIncludes}
  570.  END.
  571. {$ENDC}
  572.